.gantt {
    line-height: normal;
}

.gantt-scrollable {
    overflow-x: auto;
    border-left: 1px solid #dddddd;
    border-right: 1px solid #dddddd;
}

.gantt-scrollable-header {
    overflow-x: hidden;
    border-left: 1px solid #dddddd;
    border-right: 1px solid #dddddd;
}

.gantt-header,
.gantt-side,
.gantt-task {
    cursor: default;
    z-index: 10; /* Tasks are displayed over everything else */
}

.gantt-header {
    overflow: hidden;
}

.gantt-row-label span.gantt-label-text {
    padding-left: 12px;
    padding-right: 12px;
}

.gantt-row-label {
    overflow: hidden;
    white-space: nowrap;
}

.gantt-valign-container {
    height: 100%;
}

.gantt-valign-content {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.gantt-side-background {
    position: absolute;
    height: 100%;
    width: 100%;
}

.gantt-side-background-body {
    overflow: hidden;
}

.gantt-side-content {
    position: relative;
    vertical-align: top;
    white-space: nowrap;
    overflow: hidden;
}

.gantt-side-content > div.side-element {
    display: inline-block;
}

.gantt-header-columns {
    position: relative;
    height: 100%;
}

.gantt-side {
    float: left;
    position: relative;
}

.gantt-header-row {
    box-sizing: border-box;
    height: 2em;
    white-space: nowrap;
    border-top: 1px solid #dddddd;
}

.gantt-header-row-last {
    border-bottom: 1px solid #dddddd;
}

.gantt-header-row .gantt-column-header {
    position: absolute;
    border-right: 1px solid #dddddd;
}

.gantt-header-row .gantt-column-header-last {
    position: absolute;
    border-right: none;
}

.gantt-header-row .gantt-column-header {
    box-sizing: border-box;
    display: inline-block;
    height: 2em;
    text-align: center;
    padding-top: 0.5em;
    overflow: hidden;
    text-overflow: clip;
}

.gantt-foreground-col,
.gantt-foreground-col-nonworkhour,
.gantt-foreground-col-current-date {
    position: absolute;
    box-sizing: border-box;
    display: inline-block;
    height: 100%;
    border-right: 1px solid #dddddd;
}

.gantt-foreground-col-nonworkhour {
    background-color: rgba(200, 200, 200, 0.3);
}

.gantt-column-header-last {
    border-right: none;
}

.gantt-column-last {
    border-right: none;
}

.gantt-side-background-header {
    position: relative;
}

.gantt-side-header-row {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding-left: 12px;
    padding-right: 12px;
    border-top: 1px solid #dddddd;
    border-bottom: 1px solid #dddddd;
    overflow: hidden;
    white-space: nowrap;
}

.gantt-body {
    position: relative;
    height: 100%;
}

.gantt-body-rows {
    overflow-x: hidden;
    overflow-y: hidden;
}

.gantt-body-background {
    position: absolute;
    height: 100%;
    width: 100%;
}

.gantt-body-foreground {
    position: absolute;
    height: 100%;
    width: 100%;
}

.gantt-body-columns {
    position: absolute;
    height: 100%;
}

.gantt-resizer {
    position: absolute;
    z-index: 1;
    right: -6px;
    top: 0px;
    width: 12px;
    height: 100%;
}

.gantt-resizer-enabled {
    cursor: ew-resize;
}

.gantt-resizer-display {
    margin-left: auto;
    margin-right: auto;
    width: 4px;
    background-color: #DDDDDD;
    background-image: -webkit-linear-gradient(0deg, transparent 50%, rgba(255, 255, 255, .5) 50%);
    background-image: linear-gradient(90deg, transparent 50%, rgba(255, 255, 255, .5) 50%);
    background-size: 2px 2px;
    height: 100%;
}

.gantt-timeframe {
    position: absolute;
    box-sizing: border-box;
    height: 100%;
}

.gantt-timeframe-non-working {
    background-color: lightgray;
    opacity: 0.3;
}

.gantt-foreground-col-current-date {
    background-color: green;
    opacity: 0.6
}

.gantt-row-background {
    position: absolute;
    width: 100%;
    height: 100%;
}

.gantt-row-content {
    position: absolute;
    width: 100%;
    height: 100%;
}

.gantt-row-even > .gantt-row-background {
    background-color: #EFEFEF;
}

.gantt-row {
    position: relative;
}

.gantt-row-height {
    height: 2em;
}

.gantt-task {
    position: absolute;

    margin: auto;
    top: 0;
    bottom: 0;
    min-width: 0.6em;
    height: 80%;
}

.gantt-task-milestone {
    position: absolute;

    margin: auto;
    top: 0;
    bottom: 0;
    min-width: 0.6em;
    height: 80%;
}

.gantt-task-background {
    position: absolute;

    height: 100%;
    width: 100%;

    background-color: grey;
    border-radius: 2px;
}

.gantt-task-foreground {
    position: absolute;

    height: 100%;
    width: 100%;
}

.gantt-task-content {
    position: absolute;

    height: 100%;
    width: 100%;

    vertical-align: middle;
    text-align: center;

    overflow: hidden;

    vertical-align: middle;
    overflow: hidden;
    white-space: nowrap;
}

.gantt-task-content > span {
    margin-left: 8px;
    margin-right: 8px;
}

.gantt-task-truncated-left {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0.3em;
}

.gantt-task-truncated-right {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0.3em;
}

.gantt-task-truncated-left, .gantt-task-truncated-right {
    color: #ffffff;
    font-size: 1.5em;
    font-weight: bolder;
}

.gantt-timespan {
    position: absolute;
    box-sizing: border-box;
    display: inline-block;
    height: 100%;
    color: black;
    background-color: rgba(158, 158, 158, 0.5);
    border-left: 1px solid rgba(158, 158, 158, 1);
    border-right: 1px solid rgba(158, 158, 158, 1);
}

.gantt-current-date-line {
    border: 1px dotted green;
    opacity: 0.6;
    height: 100%;
    position: absolute;
}

.unselectable {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
